Efficient XML Interchange (EXI) is a proposed data format from the Efficient XML Interchange Working Group of the World Wide Web Consortium (W3C). It is one of the most prominent "Binary XML" efforts to encode XML documents in a binary data format, rather than plain text.
Using a binary XML format generally reduces the verbosity of XML documents, and may reduce the cost of parsing. Performance of writing (generating) content is usually not similarly improved, although this depends on actual binary representation used.
Contents |
The EXI format is derived from the AgileDelta Efficient XML format.[1] EXI was chosen as W3C's Binary XML format after an evaluation of various proposals that included Fast Infoset .[2]
An advantage of EXI over Fast Infoset is that EXI (optionally) uses more constraints from the XML schema. This can make the EXI data more compact; for example, if the XML schema specifies that elements named 'bar' may only exist within elements named 'foo', EXI can assign a shorter token to the 'bar' element, knowing that it doesn't have to share the same token space as elements that occur elsewhere in the document.
The main disadvantage is that to take advantage of this "schema-informed" compression, not only does the document require a schema, but the decoder needs a copy of the same schema that the encoder used.